package com.hyt.it.ogt.kq.service.gov.service;

import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hyt.it.ogt.kq.service.gov.model.entity.OfficePlace;
import com.hyt.it.ogt.kq.service.gov.model.param.OfficePlaceParam;
import com.hyt.it.ogt.kq.service.gov.model.vo.RoomPageVO;
import com.hyt.model.PageParam;

/**
 * <p>
 * 考点信息表 服务类
 * </p>
 *
 * @author huangyh
 * @since 2021-03-08
 */
public interface IOfficePlaceService extends IService<OfficePlace> {

    /**
     * 添加考点
     * @param officePlaceParam 添加考点参数
     * @param officeId 机构id
     */
    void add(OfficePlaceParam officePlaceParam, String officeId);

    /**
     * 查询机构下所有考点
     * @param officeId 机构id
     * @param areaId 区域id
     * @return 机构下所有考点
     */
    List<Map<String, String>> getAll(String officeId, String areaId);

    /**
     * 查询考点信息分页数据
     * @param pageParam 分页参数
     * @param officeId 机构id
     * @return 考点信息分页数据
     */
    Page<RoomPageVO> page(PageParam<RoomPageVO> pageParam, String officeId);

    /**
     * 修改考点
     * @param officePlaceParam 修改考点参数
     * @param officeId 机构id
     */
    void update(OfficePlaceParam officePlaceParam, String officeId);

    /**
     * 删除考点
     * @param placeId 考点id
     */
    void delete(String placeId);

    /**
     * 生成考点编号
     * @param officePlace
     */
    void generatePlaceCode(OfficePlace officePlace);

    /**
     * 获取 机构考点，最大的顺序号
     * @param officeId
     * @return
     */
    Integer officePlaceMaxSort(String officeId);

}
